
╔═════════╦════════════════════════════════════════════════════════════
║ GT-HELP ║ HOST.BAT - the Batch file which starts GT from DOS
╚═════════╩════════════════════════════════════════════════════════════


    The HOST.BAT should :

    a)      execute GT with appropriate parameters, including starting a
            script to put GT into Host Mode.

                see below

    b)      handle any scheduled exits that you may have defined in
            SCHEDULE.BBS or error exits which may occur due to problems
            which GT detects.


    Further details on executing GT and handling exits for error conditions
    and scheduled events are described in the detailed sections below.


┌──────────────────────┐
│ Location of HOST.BAT │
└──────────────────────┘

    Anywhere in the DOS path is suitable for GT.

    If you create it with GT-Help, it will go into the main GT directory.
    Similarly, that is where GT-Help will look if you want to edit it.

    If you already have a HOST.BAT elsewhere, and decide to copy it into
    the GT directory, remember also to delete the original copy otherwise
    you are likely to be confused by it later.


┌───────────────────────────────────┐
│ The GT command line for Host Mode │
└───────────────────────────────────┘

    The main instruction is GT1550 or GR1550 (whichever version you are
    using).  This will usually be followed by several parameters and
    switches :

       ┌─────────────────────────────────── Program to execute
       │        ┌────────────────────────── Registration Code
       │        │      ┌─────────────────── Answer ring count
       │        │      │    ┌────────────── Overlay instructions
       │        │      │    │   ┌────────── Other switches if required
    ┌──┴─┐ ┌────┴───┐ ┌┴┐ ┌─┴─┐ │   ┌────── Name of a GT script to execute
    │    │ │        │ │ │ │   │ │ ┌─┴┐
    GR1550 *xxxx-xxxx /R2 /V:ED   host

    If the SCHEDULE.BBS contains QUIT instructions, then this instruction
    must be followed by one or more errorlevel instructions to process the
    appropriate scheduled events.

    Remember that the HOST.BAT in the GT sample zip may be for GT1550 not
    GR1550. So you will need to change the T to R if you are using the GR
    version.


    GT REGISTRATION CODE

        The registration code skips the startup delay.  In 1550 it will
        begin with an asterisk, which should be included.  Omit the
        registration code if you have not yet registered for GT.

        To register, please see the registration documents (GT-INST
        installs these in the DOC subdirectory of your GTPATH).


    THE ANSWER RING COUNT

        /R followed by a digit, specifying how many rings GT should wait
        before answering the phone.

        This parameter should appear only if you are having GT control the
        answering (the recommended way for most modems).

        Note:   With a hayes-compatible modem this involves leaving S0=0 in
                host mode and using ATA| as the answer string.  The
                configurations in the GT-Help modem library do this where
                possible.

        Leaving it out is *always* safe - GT will default to 2 rings.


    OVERLAY CLASSIFICATION

        V: followed by any of:

            D   if *any* DOOR batch files are to be overlaid
                    (you can specify which doors in the DOORS.BBS file)

            E   if *any* external protocols are to be overlaid
                    (you can specify which protocols with the ALT-I
                    configuration)

            L   if logon/logoff doors are to be overlaid


┌─────────────────────────┐
│ OTHER POSSIBLE SWITCHES │
└─────────────────────────┘

    a)  If using non-standard COMMS ports :

            /2 $03C2    Reassign COM2 to hex address 03C2.

            /2 $03C2:2  Reassign COM2 to hex address 03C2 and instead of
                            the normal IRQ3, use IRQ2.


    b)  To change the sound frequency of alarms and duration of beeps :

            /L4:150

        The first number (4) controls the frequency of alarms (0 is lowest, 9
        highest). The second number controls the duration of beeps in
        milliseconds (default 225).


    c)  To control the keyboard timeout period (in minutes, default 10) :

            /T5     for a 5 minute keyboard timeout

        The keyboard timeout is used if you log on locally and get
        distracted - GT will automatically log you out when this
        period expires.


    d)  To control the default action for Mailchecks :

            /M      suppresses the check for mail prompt
            /MN     retains the prompt, but makes the default answer NO.


    e)  To control beeps and pages :

            /Q      silences beeps and pages
            /S      silences beeps but allows pages to be heard


    f)  To begin logging to a printer :

            /P

    g)  If you also use the same line for voice calls or an answering
        machine :

            /RB10:30

        would configure for ringback operation (GT would answer only if a
        second call comes in between 10 and 30 seconds after the first).
        In this mode, callers have to know that they must dial, allow the
        phone to ring, hang up quickly and call back immediately - which
        can be tricky.  Times are adjustable - the upper limit is 45
        seconds.


┌───────────────────┐
│ Unlikely Switches │
└───────────────────┘

    There may be occasions when you want these switches, but they would not
    normally be appropriate when running the board in HOST mode.

            /D      would leave DTR high when GT exits.

            /C      would pretend you were connected by direct cable to the
                    caller, rather than by modem.

            /K      would put GT into capture mode - not practical for host
                    working since GT cannot be overlaid while capture is
                    on.


┌────────────────┐
│ STARTUP SCRIPT │
└────────────────┘

    The startup script is essential to get GT into host mode.  In its
    simplest (and usual) form it consists of a file named HOST.SCR in the
    GTPATH which contains only the word

            HOST


┌────────────────────────────┐
│ Scheduled Event Processing │
└────────────────────────────┘

    Scheduled events can be processed by a QUIT instruction in GT's
    SCHEDULE.BBS.

    When a scheduled quit event matures, GT exits with a defined return
    code (known as an errorlevel, though in GT's case its not an error
    condition).  GT will also exit with errorlevel 1 under error conditions.

    If you have more than one errorlevel to test for, you must test for the
    highest one first - and must also make sure that you branch over any
    later errorlevel tests.  In most cases though you only need something
    fairly simple :


    a)  If you are running GR1550 and not running netmail, you probably
        don't need to be concerned with scheduled events.  It is
        nevertheless useful to be able to take appropriate action if GT
        exits with an errorlevel 1, eg :

            :gtagain
            GR1550 params ....
            if errorlevel 1 goto gtagain

        or preferably :

            GR1550 params ....
            if errorlevel 1 reboot

        (the latter assuming the availability of a DOS program REBOOT which
        you can find on many BBs).

                              
    b)  If you are running GR1550, and using netmail scheduled by the QUIT
        6 command, then you also need to

        i)  detect the errorlevel 6 and execute the netmail batch file from
            it

        ii) arrange to re-execute GR1550 afterwards.

        for example :

            :gtagain
            GR1550 params ....
            if errorlevel 6 goto net
            if errorlevel 1 goto reboot         (or to gtagain if no reboot)
            goto gtdone

            :net
            netmail
            goto gtagain

            :reboot
            reboot

            :gtdone


    c)  If you are running GT15, then you *also* have to allow for a QUIT
        255 which GT executes when a caller disconnects after executing a
        batch file.  When that is seen, GT must be restarted.

        for example :

            :gtagain
            GR1550 params ....
            if errorlevel 255 goto gtagain
            if errorlevel 6 goto net
            if errorlevel 1 goto reboot         (or to gtagain if no reboot)
            goto gtdone

            :net
            netmail
            goto gtagain

            :reboot
            reboot

            :done


    Examples b) and c) both execute NETMAIL.BAT which is expected to exist
    somewhere in the DOS path.  See the Netmail menu for instructions on
    creating this.


┌──────────┐
│ Reminder │
└──────────┘

    When adding/editing errorlevel instructions, be sure to

    a)  test for them in strict DESCENDING errorlevel order, and

    b)  branch over any subsequent errorlevel tests.

    Also, remember that you cannot execute any other DOS programs between
    the GT program and the errorlevel tests, which might change the
    errorlevel.

